package cn.com.xuhx.mapper;

import cn.com.xuhx.pojo.User;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 1. UserMapper.java要与UserMapper.xml文件名一致
 * 2. UserMapper.xml的namespace是UserMapper.java的全类名
 * 3. UserMapper.java里的方法名要与UserMapper.xml里对应的id一致
 * 4. 在mybatis-config.xml里引用USerMapper.xml
 */


/**
 * MyBatis获取参数值的两种方式：${}和#{}
 * ${}本质字符串拼接
 * #{}本质占位符赋值
 * MyBatis获取参数值的各种情况：
 * 1、mapper接口方法的参数为单个的字面量类型
 * 可以通过${}和#{}以任意的名称获取参数值，但是需要注意${}的单引号问题
 * 2、mapper接口方法的参数为多个时
 * 此时MyBatis会将这些参数放在一个map集合中，以两种方式进行存储
 * a>以arg0,arg1...为键，以参数为值
 * b>以param1,param2...为键，以参数为值
 * 因此只需要通过#{}和${}以键的方式访问值即可，但是需要注意${}的单引号问题
 * 3、若mapper接口方法的参数有多个时，可以手动将这些参数放在一个map中存储
 * 只需要通过#{}和${}以键的方式访问值即可，但是需要注意${}的单引号问题
 * 4、mapper接口方法的参数是实体类类型的参数
 * 只需要通过#{}和${}以属性的方式访问属性值即可，但是需要注意${}的单引号问题
 * 5、使用@Param注解命名参数
 * 此时MyBatis会将这些参数放在一个map集合中，以两种方式进行存储
 * a>以@Param注解的值为键，以参数为值
 * b>以param1,param2...为键，以参数为值
 * 因此只需要通过#{}和${}以键的方式访问值即可，但是需要注意${}的单引号问题
 */
public interface UserMapper {



    void addAllUser(List<User> users);
}
